前兩篇我們介紹了SQL Server的資料庫鏡像(Database Mirroring)的觀念與實作,接下來這篇跟大家介紹更深入說明資料庫鏡像管理。
鏡像狀態
在資料庫鏡像工作階段中,鏡像資料庫一定會處於特定狀態 (「鏡像狀態」)。您可以進入資料庫的[屬性]頁面,然後在[選取頁面] 下,按一下 [鏡像],即可在裝態區塊中,查看目前的鏡像狀態,如下圖紅色框框所示,您已可以按一下旁邊的重新整理,就可以重新取得目前的鏡像狀態。
資料庫鏡像狀態有下列五種:
1.SYNCHRONIZING(正同步處理中):
鏡像資料庫伺服器正在向主體資料庫伺服器同步中。
2.SYNCHRONIZED(已同步處理):已經完成同步,此時可同時支援自動容錯移轉和手動容錯移轉,而且容錯移轉之後不會遺失任何資料。
3.SUSPENDED(已暫停):主體資料庫執行時並沒有傳送任何記錄檔到鏡像伺服器,或是資料庫鏡像作業已經暫停。
4.PENDING_FAILOVER(容錯移轉):開始進行容錯移轉之後但伺服器尚未轉換為鏡像角色之前。
5.DISCONNECTED(已斷線):主體資料庫無法與鏡像資料庫或見證資料庫連線。
移除鏡像
移除鏡像會將鏡像的工作階段的相關資訊移除,但是鏡像移除後,您如果要還原先前的鏡像資料庫則需使用到RESTORE(Transact-SQL)陳述式中的WITH RECOVERY,詳細請參考SQL Server 無敵手冊第十八篇。
您可以進入資料庫的[屬性]頁面,然後在[選取頁面] 下,按一下 [鏡像],如下圖紅色框框中,使用[移除鏡像]按鈕來移除鏡像。
暫停
資料庫鏡像工作階段隨時都可以先暫停,稍後再繼續。暫停會保留工作階段狀態,同時暫停鏡像。如果發生效能瓶頸時,您可以透過暫停來觀察是否可以改善。此時主體資料庫依舊可以正常提供服務,並停止與鏡像資料庫進行同步,但是此時無法截斷交易紀錄,所以可能會有塞爆交易紀錄檔的可能。您可以進入資料庫的[屬性]頁面,然後在[選取頁面] 下,按一下 [鏡像],如下圖紅色框框中,使用[暫停]按鈕來暫停鏡像。
SQL Server 2008改進了先前在2005所發生的效能問題,在鏡像資料庫工作階段,會先壓縮交易紀錄然後進行傳送,以減少網路流量,不會像2005常在BULK行為發生效能問題。
如果看完這三篇,相信您現在已經可以完全掌握SQL Server中的資料庫鏡像(Database Mirroring)。